package com.shangqing.document_management.entity;

import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author 
 * @since 2020-12-22
 */
@EqualsAndHashCode(callSuper = false)
public class DocumentRegistration implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 登记号（系统自动生成）
     */
    private String number;

    /**
     * 登记编号
     */
    @NotNull(message = "登记编号不能为空")
    private Integer registrationNum;

    /**
     * 登记时间
     */
    @NotNull(message = "登记时间不能为空")
    private Date registrationTime;

    /**
     * 责任者
     */
    @NotNull(message = "责任者不能为空")
    private String personLiable;

    /**
     * 文件编号
     */

    private Integer documentNum;

    /**
     * 正题名
     */
    @NotNull(message = "正题名不能为空")
    private String nomination;

    /**
     * 形成时间
     */
    @NotNull(message = "形成时间不能为空")
    private Date createTime;

    /**
     * 年度
     */
    @NotNull(message = "年度不能为空")
    private String year;

    /**
     * 保管期限:1代表三年2代表五年3代表十年4代表永久
     */
    @NotNull(message = "保管期限不能为空")
    private Integer storagePeriod;

    /**
     * 密级:1代表绝密 2代表机密  3代表秘密
     */
    @NotNull(message = "密级不能为空")
    private Integer classification;

    /**
     * 页数
     */
    @NotNull(message = "页数不能为空")
    private Integer pagesNum;

    /**
     * 文件份数
     */
    private Integer documentCopies;

    /**
     * 归档情况 1：表示归档 2：表示借出
     */
    @NotNull(message = "归档情况不能为空")
    private Integer filingSituation;

    /**
     * 类别号 1：合同类 2：行政管理类 3：会计档案类 4：资产类 5：项目管理类
     */
    private Integer categoryNum;

    /**
     * 主题词
     */
    private String subjectWords;

    /**
     * 关键词
     */
    private String keyWord;

    /**
     * 附件,存放的文件路径
     */
    private String enclosure;

    /**
     * 附注
     */
    private String noteAppended;

    /**
     * 文件组合类型
     */
    private Integer combinationType;

    /**
     * 文种 1:汉文档案 2：满文档案
     */
    private Integer recordType;

    /**
     * 主送
     */
    private String mainDelivery;

    /**
     * 抄送
     */
    private String cpoyDelivery;

    /**
     * 紧急程度 1:特急公文 2：紧急公文 3：常规公文
     */
    private Integer urgencyType;

    /**
     * 存放位置
     */
    private String position;

    /**
     * 稿本
     */
    private String manuscript;

    /**
     * 语种
     */
    private String languages;

    /**
     * 控制标识
     */
    private String controlSign;

    /**
     * 缩微号
     */
    private String microcosm;

    /**
     * 保密期限
     */
    private String confidentialityPeriod;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public Integer getRegistrationNum() {
        return registrationNum;
    }

    public void setRegistrationNum(Integer registrationNum) {
        this.registrationNum = registrationNum;
    }

    public Date getRegistrationTime() {
        return registrationTime;
    }

    public void setRegistrationTime(Date registrationTime) {
        this.registrationTime = registrationTime;
    }

    public String getPersonLiable() {
        return personLiable;
    }

    public void setPersonLiable(String personLiable) {
        this.personLiable = personLiable;
    }

    public Integer getDocumentNum() {
        return documentNum;
    }

    public void setDocumentNum(Integer documentNum) {
        this.documentNum = documentNum;
    }

    public String getNomination() {
        return nomination;
    }

    public void setNomination(String nomination) {
        this.nomination = nomination;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public Integer getStoragePeriod() {
        return storagePeriod;
    }

    public void setStoragePeriod(Integer storagePeriod) {
        this.storagePeriod = storagePeriod;
    }

    public Integer getClassification() {
        return classification;
    }

    public void setClassification(Integer classification) {
        this.classification = classification;
    }

    public Integer getPagesNum() {
        return pagesNum;
    }

    public void setPagesNum(Integer pagesNum) {
        this.pagesNum = pagesNum;
    }

    public Integer getDocumentCopies() {
        return documentCopies;
    }

    public void setDocumentCopies(Integer documentCopies) {
        this.documentCopies = documentCopies;
    }

    public Integer getFilingSituation() {
        return filingSituation;
    }

    public void setFilingSituation(Integer filingSituation) {
        this.filingSituation = filingSituation;
    }

    public Integer getCategoryNum() {
        return categoryNum;
    }

    public void setCategoryNum(Integer categoryNum) {
        this.categoryNum = categoryNum;
    }

    public String getSubjectWords() {
        return subjectWords;
    }

    public void setSubjectWords(String subjectWords) {
        this.subjectWords = subjectWords;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public String getEnclosure() {
        return enclosure;
    }

    public void setEnclosure(String enclosure) {
        this.enclosure = enclosure;
    }

    public String getNoteAppended() {
        return noteAppended;
    }

    public void setNoteAppended(String noteAppended) {
        this.noteAppended = noteAppended;
    }

    public Integer getCombinationType() {
        return combinationType;
    }

    public void setCombinationType(Integer combinationType) {
        this.combinationType = combinationType;
    }

    public Integer getRecordType() {
        return recordType;
    }

    public void setRecordType(Integer recordType) {
        this.recordType = recordType;
    }

    public String getMainDelivery() {
        return mainDelivery;
    }

    public void setMainDelivery(String mainDelivery) {
        this.mainDelivery = mainDelivery;
    }

    public String getCpoyDelivery() {
        return cpoyDelivery;
    }

    public void setCpoyDelivery(String cpoyDelivery) {
        this.cpoyDelivery = cpoyDelivery;
    }

    public Integer getUrgencyType() {
        return urgencyType;
    }

    public void setUrgencyType(Integer urgencyType) {
        this.urgencyType = urgencyType;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getManuscript() {
        return manuscript;
    }

    public void setManuscript(String manuscript) {
        this.manuscript = manuscript;
    }

    public String getLanguages() {
        return languages;
    }

    public void setLanguages(String languages) {
        this.languages = languages;
    }

    public String getControlSign() {
        return controlSign;
    }

    public void setControlSign(String controlSign) {
        this.controlSign = controlSign;
    }

    public String getMicrocosm() {
        return microcosm;
    }

    public void setMicrocosm(String microcosm) {
        this.microcosm = microcosm;
    }

    public String getConfidentialityPeriod() {
        return confidentialityPeriod;
    }

    public void setConfidentialityPeriod(String confidentialityPeriod) {
        this.confidentialityPeriod = confidentialityPeriod;
    }
}
